cmake_minimum_required(VERSION 2.8.3)
project(motion_compensation)

add_compile_options(-std=c++14)

SET(CMAKE_BUILD_TYPE "Release")

## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  dvs_msgs
  geometry_msgs
  image_transport
  cv_bridge
  message_generation
)

add_message_files(  
  FILES
  bias.msg
)

generate_messages(  DEPENDENCIES   std_msgs)

include_directories("/usr/include/eigen3")
include_directories("/usr/include/eigen3/unsupported")
find_package(OpenCV REQUIRED core highgui)

###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## INCLUDE_DIRS: uncomment this if you package contains header files
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need

catkin_package(
  INCLUDE_DIRS include
  CATKIN_DEPENDS roscpp rospy std_msgs geometry_msgs
)


###########
## Build ##
###########

## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(
  include
  ${catkin_INCLUDE_DIRS}
  ${OpenCV_INCLUDE_DIRS}
)

## Declare a C++ executable
set(SRC src/motion_compensation_node.cpp)
add_executable(motion_compensation_node ${SRC})

## Specify libraries to link a library or executable target against
target_link_libraries(motion_compensation_node ${catkin_LIBRARIES} ${OpenCV_LIBS} ${CERES_LIBRARIES})
